package sk.tonyb.crawler.storage;

import java.util.List;

/** 
 * Interface, which define methods used by crawler in process of storing data. <br>
 * 
 * @author Anton Balucha
 * @since 14.10.2011
 * @last_modified 15.10.2011
 */
public interface ICrawlerStorage {
	
	/** Method return copy of list, which store unprocessed links. */
	public List<String> getListOdUnprocessedLinks();
	
	/** Method return copy of list, which store processed links. */
	public List<String> getListOdProcessedLinks();

	/** Method, which insert link into list. If link already exists in list of links, it will not be added. */
	public void insertLink(String link);
	
	/** Method, which insert list of links into list. If links already exists in list of links, they will not be added. */
	public void insertLinks(String[] links);
	
	/** Method, which return next link to process. */
	public String getLinkToProcess();
	
	/** Method, which verify, if entered link was processed. */
	public boolean isProcessedLink(String link);
	
	/** Method, which verify, if entered link was not processed. */
	public boolean isUnprocessedLink(String link);
}
